package com.xjrsoft.module.customerTwo.barin.barinFunctionalSubassembly.vo;

import java.math.BigDecimal;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.TableId;
import java.time.LocalDateTime;
import com.baomidou.mybatisplus.annotation.TableField;
import java.io.Serializable;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.Data;
import com.xjrsoft.common.Enum.TransDataType;
import com.xjrsoft.common.annotation.DataTrans;
import io.swagger.annotations.ApiModel;

/**
 * 视图实体类
 *
 * @author dongxinhang
 * @since 2024-04-25
 */
@Data
@ApiModel(value = "列表TBarinFunctionalSubassemblyVo对象", description = "列表TBarinFunctionalSubassemblyVo对象")
public class TBarinFunctionalSubassemblyListVo {

    @JsonProperty("F_Icon")
    private String fIcon;

    @JsonProperty("F_FutureFactory")
    private String fFuturefactory;


    @JsonProperty("F_FutureFactoryType")
    private String fFuturefactorytype;

    @JsonProperty("F_PayType")
    private String fPaytype;


    @JsonProperty("F_PriceType")
    private String fPricetype;


    @JsonProperty("F_BottomPrice")
    private BigDecimal fBottomprice;


    @JsonProperty("F_PeakPrice")
    private BigDecimal fPeakprice;


    @JsonProperty("F_Versions")
    private String fVersions;

    @JsonProperty("F_Url")
    private String fUrl;


    @JsonProperty("F_UseRequirement")
    private String fUserequirement;


    @JsonProperty("F_TargetUser")
    private String fTargetuser;


    @JsonProperty("F_TargetUserAttachment")
    private String fTargetuserattachment;


    @JsonProperty("F_CommonProblem")
    private String fCommonproblem;


    @JsonProperty("F_CommonProblemAttachment")
    private String fCommonproblemattachment;


    @JsonProperty("F_PainPoints")
    private String fPainpoints;


    @JsonProperty("F_PainPointsAttachment")
    private String fPainpointsattachment;


    @JsonProperty("F_SuccessfulCase")
    private String fSuccessfulcase;


    @JsonProperty("F_SuccessfulCaseAttachment")
    private String fSuccessfulcaseattachment;


    @JsonProperty("F_publisher")
    private String fPublisher;


    @JsonProperty("F_publishAddress")
    private String fPublishaddress;


    @JsonProperty("F_publishEmail")
    private String fPublishemail;


    @JsonProperty("F_publishUserName")
    private String fPublishusername;


    @JsonProperty("F_publishPhone")
    private String fPublishphone;


    @JsonProperty("F_ServiceProvider")
    private String fServiceprovider;


    @JsonProperty("F_ServiceAddress")
    private String fServiceaddress;


    @JsonProperty("F_ServiceEmail")
    private String fServiceemail;


    @JsonProperty("F_ServiceLinkMan")
    private String fServicelinkman;


    @JsonProperty("F_ServicePhone")
    private String fServicephone;


    @JsonProperty("F_ProviderProfile")
    private String fProviderprofile;


    @JsonProperty("F_ServiceGuides")
    private String fServiceguides;


    @JsonProperty("F_OperationDocument")
    private String fOperationdocument;


    @JsonProperty("F_CommodityAgreement")
    private String fCommodityagreement;


    @JsonProperty("F_ServiceGuidesAttachment")
    private String fServiceguidesattachment;


    @JsonProperty("F_PerformanceTestReport")
    private String fPerformancetestreport;


    @JsonProperty("F_FunctionalTestReport")
    private String fFunctionaltestreport;

    @JsonProperty("F_Id")
    private String fId;

    @JsonProperty("F_Name")
    private String fName;

    @JsonProperty("F_BriefIntroduction")
    private String fBriefintroduction;

    @JsonProperty("F_Type")
    @DataTrans(dataType = TransDataType.DATA_ITEM, dataCode = "SubassemblyType", multi = false)
    private String fType;

    @JsonProperty("F_UseType")
    @DataTrans(dataType = TransDataType.CASCADE, dataCodes = {"1536e3bb6dbaa79b1546532352560001","735c9532cddf702934c092ffd842b903"}, showFields = {"F_Name","F_Name"}, savedFields = {"F_Code","F_Code"}, multi = true, separator = "--")
    private String fUsetype;

    @JsonProperty("F_ClassHeading")
    @DataTrans(dataType = TransDataType.CASCADE, dataCodes = {"f4e572123862966d338f79e749061383","735c9532cddf702934c092ffd842b903"}, showFields = {"F_Name","F_Name"}, savedFields = {"F_Code","F_Code"}, multi = true, separator = "--")
    private String fClassheading;

    @JsonProperty("F_Free")
    @DataTrans(dataType = TransDataType.DATA_ITEM, dataCode = "SubassemblyFree", multi = false)
    private String fFree;

    @JsonProperty("F_DeliveryMethod")
    @DataTrans(dataType = TransDataType.DATA_ITEM, dataCode = "SubassemblyDeliveryMethod", multi = false)
    private String fDeliverymethod;

    @JsonProperty("F_Class")
    @DataTrans(dataType = TransDataType.DATA_ITEM, dataCode = "SubassemblyClass", multi = false)
    private String fClass;

    @JsonProperty("F_MerchantId")
    @DataTrans(dataType = TransDataType.USER, multi = false)
    private String fMerchantid;

    @JsonProperty("F_Status")
    @DataTrans(dataType = TransDataType.DATA_ITEM, dataCode = "SubassemblyStatus", multi = false)
    private String fStatus;

    @JsonProperty("F_SaleDate")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime fSaledate;

    /**
     * 数据来源	数据产品专有	0 完全公开数据	1 非完全公开数据
     */
    @JsonProperty("F_DataSources")
    private String fDatasources;
}
